<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="../js/vue.js"></script>
	</head>
	<body>
		<!-- defineProperty 是Vue中数据劫持、数据代理、计算属性 的底层实现机制 -->
		<script>
			let person = {
				name:'张三',
				address:'重庆',
				// age:12
			}
			
			//使用该方式所定义的属性不可以被枚举
			//不可被枚举，也叫到不可被遍历
			Object.defineProperty(person,'age',{
				value:12,
				enumerable:true,//控制可被枚举，默认值false
				writable:true,//属性可以被修改，默认值false
				configurable:true,//控制属性是否可以被删除，默认值false
				//当读取person的age属性时，会调用该get函数,返回值为age的值
				get:function(){
					return 
				},
				// 当有人修改person的age属性时，set函数
				set(){
					
				}
			})
			
			console.log(person)
			console.log(Object,keys(person))
		</script>
	</body>
</html>